package com.xbongbong.parent.interfaces;

import com.xbongbong.pro.dynamic.pojo.dto.DynamicAddLinkData;
import com.xbongbong.pro.dynamic.pojo.dto.DynamicDeleteDTO;
import com.xbongbong.pro.dynamic.pojo.dto.DynamicDeleteLinkData;
import com.xbongbong.pro.dynamic.pojo.dto.DynamicLinkDataStageJump;
import com.xbongbong.pro.dynamic.pojo.dto.DynamicSaveDTO;

import java.util.List;

/**
 *动态策略
 *
 *@author weijianxun
 */
public interface DynamicStrategy {
    /**
     * 业务类型
     * @return
     */
    List<Integer> type();

    /**
     * 新建
     * @param dynamicSaveDTO
     */
    void save(DynamicSaveDTO dynamicSaveDTO);

    /**
     * 批量删除
     * @param dynamicDeleteDTO
     */
    void batchDelete(DynamicDeleteDTO dynamicDeleteDTO);

    /**
     * 新增关联数据
     * date: 2022/5/23 2:34 下午
     * @param list:
     */
    void addLinkData(List<DynamicAddLinkData> list);

    /**
     * 删除关联数据
     * date: 2022/5/24 10:34 上午
     * @param list:
     */
    void deleteBatchLinkData(List<DynamicDeleteLinkData> list);

    /**
     * 关联数据调转 在上游加动态
     * date: 2022/5/26 10:53 上午
     * @param list:
     */
    void linkDataStageJump(List<DynamicLinkDataStageJump> list);

}
